home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2006 May / PCpro_2006_05.ISO / files / mobile / fma-2.0-stable-setup.exe / {app} / source / uDebug.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2005-01-26  |  2.5 KB  |  106 lines

  1. unit uDebug;
  2.  
  3. {
  4. *******************************************************************************
  5. * Descriptions: Debug log window implementation
  6. * $Source: /cvsroot/fma/fma/uDebug.pas,v $
  7. * $Locker:  $
  8. *
  9. * Todo:
  10. *
  11. * Change Log:
  12. * $Log: uDebug.pas,v $
  13. * Revision 1.5.8.1  2005/01/25 16:03:07  z_stoichev
  14. * Merged with 2.1 Beta 1 bugfixes
  15. *
  16. * Revision 1.5  2004/05/21 10:09:02  z_stoichev
  17. * Changed logging handle routines.
  18. *
  19. * Revision 1.4  2003/11/28 09:38:07  z_stoichev
  20. * Merged with branch-release-1-1 (Fma 0.10.28c)
  21. *
  22. * Revision 1.3.2.2  2003/10/28 10:15:35  z_stoichev
  23. * Always show memo last line.
  24. *
  25. * Revision 1.3.2.1  2003/10/27 07:22:54  z_stoichev
  26. * Build 0.1.0 RC1 Initial Checkin.
  27. *
  28. * Revision 1.3  2003/01/30 04:15:57  warren00
  29. * Updated with header comments
  30. *
  31. *
  32. *******************************************************************************
  33. }
  34.  
  35. interface
  36.  
  37. uses
  38.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  39.   Dialogs, StdCtrls, Placemnt, Menus;
  40.  
  41. type
  42.   TfrmDebug = class(TForm)
  43.     Memo: TMemo;
  44.     FormPlacement1: TFormPlacement;
  45.     MainMenu1: TMainMenu;
  46.     Log1: TMenuItem;
  47.     SaveAs1: TMenuItem;
  48.     N1: TMenuItem;
  49.     Clear1: TMenuItem;
  50.     N2: TMenuItem;
  51.     Close1: TMenuItem;
  52.     SaveDialog1: TSaveDialog;
  53.     procedure MemoChange(Sender: TObject);
  54.     procedure Close1Click(Sender: TObject);
  55.     procedure Clear1Click(Sender: TObject);
  56.     procedure SaveAs1Click(Sender: TObject);
  57.   private
  58.     { Private declarations }
  59.   public
  60.     { Public declarations }
  61.   end;
  62.  
  63. var
  64.   frmDebug: TfrmDebug;
  65.  
  66. implementation
  67.  
  68. uses Unit1;
  69.  
  70. {$R *.dfm}
  71.  
  72. procedure TfrmDebug.MemoChange(Sender: TObject);
  73. begin
  74.   SaveAs1.Enabled := Memo.Text <> '';
  75.   Clear1.Enabled := SaveAs1.Enabled;
  76.   if not Application.Terminated then begin
  77.     Memo.SelLength := 0;
  78.     if not Visible then
  79.       SendMessage(Memo.Handle,WM_VSCROLL,SB_THUMBPOSITION or ((Memo.Lines.Count-1) shl 16),0);
  80. end;
  81. end;
  82.  
  83. procedure TfrmDebug.Close1Click(Sender: TObject);
  84. begin
  85.   Close;
  86. end;
  87.  
  88. procedure TfrmDebug.Clear1Click(Sender: TObject);
  89. begin
  90.   Memo.Lines.Clear;
  91.   SaveAs1.Enabled := False;
  92.   Clear1.Enabled := False;
  93. end;
  94.  
  95. procedure TfrmDebug.SaveAs1Click(Sender: TObject);
  96. begin
  97.   SaveDialog1.InitialDir := ExtractFileDir(Application.ExeName);
  98.   SaveDialog1.FileName := Caption + '.log';
  99.   if SaveDialog1.Execute then begin
  100.     Memo.Lines.SaveToFile(SaveDialog1.FileName);
  101.     SaveAs1.Enabled := False;
  102.   end;
  103. end;
  104.  
  105. end.
  106.